package br.com.sistef.model.dao;

import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

import br.com.sistef.model.entity.Produto;

public class ProdutoDao extends GenericDao {

	  public void inserir(Produto produto) {
			String qr = "INSERT INTO PRODUTO(NOMEPRODUTO,CDBARRAS,VALORCUSTO,VALORVENDA,ESTOQUEMINIMO) VALUES (?,?,?,?,?)";
	        		save(qr, produto.getNomeProduto(),produto.getCdBarras(),produto.getValorCusto(),produto.getValorVenda(),produto.getEstqueminimo());
		}
	    
	  public void update(Produto produto) {
			String sql = "UPDATE PRODUTO "
					+ "SET nome = ?"
					+ "where idProduto = ?";
	        		update(sql, produto.getIdProduto(), produto.getNomeProduto());
	    	}
	    
	  public void delete(Produto produto) {
	        		String sql = "DELETE FROM PRODUTO WHERE idProduto = ? ";
	    	    	delete(sql, produto.getIdProduto());
	    	}

	  public List<Produto> findProdutos() {
	        		List<Produto> produtos = new ArrayList<Produto>();
	        		String sql = "SELECT * FROM PRODUTO";
	        		try {
	            	    PreparedStatement pstmt = getConnection().prepareStatement(sql);
	            
	                     ResultSet rs = pstmt.executeQuery();

	                     while (rs.next()) {
				Produto p = new Produto();
				p.setIdProduto(rs.getInt("IDPRODUTO"));
				p.setNomeProduto(rs.getString("NOMEPRODUTO"));
				p.setCdBarras(rs.getString("CDBARRAS"));
				p.setValorCusto(rs.getFloat("VALORCUSTO"));
				p.setValorVenda(rs.getFloat("VALORVENDA"));
				p.setEstqueminimo(rs.getInt("ESTOQUEMINIMO"));
				produtos.add(p);
		             }
			     rs.close();
			     pstmt.close();
	                      return produtos;
	    	       } catch (SQLException e) {
	            	     e.printStackTrace();
	        	       }
	               return null;
	       }

	

}
